signature SLP_TOKENS =
sig
    type pos
    type token

    type keyword = pos * pos -> token;

    val PRINT:		keyword
    val IF:		keyword
    val THEN:		keyword
    val ELSE:		keyword
    val DIVIDE:		keyword
    val TIMES:		keyword
    val MINUS:		keyword
    val PLUS:		keyword
    val LESS:		keyword
    val LESSEQUAL:	keyword
    val GREATER:	keyword
    val GREATEREQUAL:	keyword
    val EQUAL:		keyword
    val RPAREN:		keyword
    val LPAREN:		keyword
    val COLONEQ:	keyword
    val SEMICOLON:	keyword
    val COMMA:		keyword
    val INT:		int    * pos * pos -> token
    val BOOL:		bool   * pos * pos -> token
    val ID:		string * pos * pos -> token
    val EOF:		keyword

    val show : token -> string
end
